package com.starview.star.code.repository;

import com.starview.star.compiler.util.PrettyPrintable;
import com.starview.star.compiler.util.Writeable;

/**
 * A node in a tree of code. May be an individual compiled chunk of code, a group of code chunks or
 * a form of manifest file.
 * 
 * @author fgm
 * 
 */

public interface CodeTree extends Writeable, PrettyPrintable
{
  /**
   * Every code tree has a path. This is essentially equivalent to Java's full class name.
   * 
   * @return
   */
  String getPath();

  /**
   * Standard extension for this resource
   * 
   * @return
   */
  String getExtension();
}
